Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Interacción entre tareas (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Comunicacion mediante mensajes
Las tareas se pueden comunicar y sincronizar
mediante mensajes.
Esta forma de comunicacion no necesita de memoria
comun.
Es posible utilizar buzones como mencanismo de
comunicación.
Hay tres aspectos de interes:
Sincronizacion.
Identificacion del proceso emisor y receptor.
Estructura de los mensajes

Monografias.com

Diagrama de secuencia de mensajes
send
receive
A
B
B
Representan la interacción
entre procesos mediante
el intercambio de mensajes
El tiempo va hacia abajo
Buzón

Monografias.com

Sincronización en el envío de mensajes
El proceso receptor siempre espera si el mensaje
no ha llegado todavia.
Para el proceso emisor hay tres modelos basicos:
Comunicación asíncrona: el emisor continua su ejecución.
Comunicación síncrona (cita): el emisor espera a que
el receptor reciba el mensaje.
Invocación remota (cita extendida): el emisor espera a que
el receptor reciba el mensaje, y la respuesta de éste.

Monografias.com

Comunicación Asíncrona
send
receive
A
El numero de mensajes que
pueden enviarse depende del
tamaño del buzón.
El emisor puede saturar el
buzón (si no hay receptcion) y
hasta entonces bloquearse.
El receptor puede bloquearse si
el buzón se encuentra vacio.
Buzón
B

Monografias.com

Comunicación Síncrona
send
receive
A
El buzón acepta solo un mensaje
Al enviar un mensaje el emisor
espera (bloqueado) hasta que el
receptor ha recibido el mensaje.
Lo mismo ocurre cuando el
receptor ejecuta el receive primero.
Buzón
mensaje
A
send(m);
receive (ack);
B
receive(m);
send (ack);
B

Monografias.com

Invocación Remota
send
receive
A
El buzón acepta solo un mensaje
Al enviar un mensaje el emisor
espera (bloqueado) hasta que el
receptor ha recibido el mensaje.
Lo mismo ocurre cuando el
receptor ejecuta el receive primero.
mensaje
A
s_send(m);

s_receive (ack);
reply
bloqueo
B
s_receive(m);
preparar reply
s_send(r);
B

Monografias.com

Estructura de los mensajes
El mensaje podria llevar los siguentes campos:
Encabezado.
Identificador del emisor.
Identificador del receptor.
Longitud del mensaje
Mensaje.
Campo de ack.
Campo de seguridad

El contenido del mensaje deberia poder ser de cualquier
tipo.

Monografias.com

Identificación del emisor y el receptor
Identificación directa o indirecta:
Directa: el emisor identifica explicitamente al receptor
send mensaje to proceso
Indirecta: se utiliza un intermediario (buzón, canal,
tubería, etc)
send mensaje to buzón
Simetria:
Comunicacion simétrica: el emisor identifica al receptor
y viceversa.
send mensaje to proceso (buzón)
receive mensaje from proceso (buzón)
Comunicacino Asimétrica: el receptor acepta mensajes
de cualquier emisor o buzón.

Monografias.com

Problemas con la Interacción entre tareas
Cuando dos o mas tareas comparten datos, sen envian
mensajes o se sincronizan entre si, puede ocurrir que
una tarea tenga que esperar un suceso de otra menos
prioritaria
Esta situación se denomina bloqueo, y produce una
inversión de prioridad indeseable
La inversión de prioridad no se puede eliminar
completamente, pero es posible limitar su duración

Monografias.com

Ejemplo 1
X
Y

Monografias.com

Ejemplo 1: inversión de prioridad
0 2 4 6 8 10 12 14 16 18
bloqueo
a1
ax
ay
a2
b1
by
by
b2
c1
d1
dx
dx
d2

Monografias.com

Herencia de prioridad
Una forma de reducir la duración de los bloqueos es
variar dinámicamente la prioridad de las tareas
Cuando una tarea está bloqueando a otra más
prioritaria, hereda la prioridad de está
La prioridad dinámica de una tarea es el máximo de
su prioridad básica
las prioridades de todas las tareas bloqueadas por ella
La herencia de prioridad es transitiva

Monografias.com

Ejemplo 1: herencia de prioridad
0 2 4 6 8 10 12 14 16 18
a1
ax
ay
a2
b1
by
by
b2
c1
d1
dx
dx
d2

Monografias.com

Duración máxima de bloqueo
Con el protocolo de herencia de prioridad, una tarea
se puede bloquear como máximo
una vez por cada sección crítica
una vez por cada tarea de prioridad inferior
La duración total máxima de los bloqueos es

donde
K es el número de recursos compartidos
C es el tiempo durante el cual la tarea j accede al
recurso K(=0 si no usa el recurso)
j,k

Monografias.com

Ejemplo 1: cálculo de bloqueo
B = C + C = 2+4=6
B = C = 4
B = C = 4
B = 0

Una tarea puede bloquearse por recursos a los que no
accede (por ejemplo, 2)
Una tarea puede sufrir bloqueo aunque no acceda a
recursos compartidos (por ejemplo, 3)
La tarea de menor prioridad ( 4) no sufre bloqueo
1
2
3
4
2,Y
4, X
4, X
4, X

Monografias.com

Tiempo de respuesta con bloqueos
Cuando hay bloqueos, la ecuación del tiempo de
respuesta queda así:
La solución se obtiene mediante la relación de
recurrencia

Monografias.com

Protocolos de techo de prioridad
El techo de prioridad de un recurso es la máxima
prioridad de las tareas que lo usan
El protocolo del techo de prioridad consiste en:
la prioridad dinámica de una tarea es el máximo de su
prioridad básica y las prioridades de las tareas a las que
bloquea
una tarea sólo puede usar un recurso si su prioridad
dinámica es mayor que el techo de todos los recursos en
uso por otras tareas

Monografias.com

Ejemplo 1: techo de prioridad
0 2 4 6 8 10 12 14 16 18
a1
ax
ay
a2
b1
by
by
b2
c1
d1
dx
dx
d2
dx

Monografias.com

Propiedades
Cuando se usa el protocolo del techo de prioridad en
un sistema monoprocesador,
Cada tarea se puede bloquear una vez, como máximo, en
cada ciclo
No puede haber interbloqueos
No puede haber bloqueos encadenados
Se consigue la exclusión mutua sin mecanismos de
protección adicionales
La duración máxima del bloqueo es ahora
B = max C

lc(i) es el conjunto de recursos que pueden bloquear i
felp(f),k lc(i)
j,k

Monografias.com

Protocolo del techo de prioridadinmediato
Con este protocolo, una tarea que accede a un
recurso hereda inmediatamente el techo de prioridad
del recurso
la prioridad dinámica de una tarea es el máximo de su
prioridad básica y los techos de prioridad de los recursos
que usa
Las propiedades son las mismas que las del
protocolo del techo de prioridad, y además,
si una tarea se bloquea, lo hace al principio del ciclo
Es más fácil de implementar que el protocolo básico
Es más eficiente ( menos cambios de contexto )

Monografias.com

Ejemplo 1: techo de prioridadinmediato
0 2 4 6 8 10 12 14 16 18
a1
ax
ay
a2
b1
by
b2
c1
d1
dx
d2

Monografias.com

Resumen
Un método de planificación tiene dos partes:
un algoritmo de reparto de recursos
un método de análisis del comportamiento temporal
El método clásico se basa en un ejecutivo cíclico
el análisis es inmediato (por construcción)
es poco flexible y de bajo nivel
Un método mejor se basa en el uso de prioridades fijas
las prioridades se asignan por orden de período, plazos o de
forma arbitraria
se puede analizar el tiempo de respuesta de las tareas
se pueden analizar tareas con interacción si se usa un protocolo
de herencia o techo de prioridad

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter